package com.whw.fy.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.whw.fy.config.IgnoreSwaggerParameter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Transient;

@ApiModel(value="com-whw-fy-entity-InstructionalSupervision")
@Data
public class InstructionalSupervision {
    /**
    * 教学督导id
    */
    @ApiModelProperty(value="教学督导id")
    private Integer instructionalSupervisionId;

    /**
    * 教学督导发起人
    */
    @ApiModelProperty(value="教学督导发起人")
    private Integer instructionalSupervisionPostUserId;

    /**
    * 教学督导发起时间
    */
    @ApiModelProperty(value="教学督导发起时间")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date instructionalSupervisionPostTime;

    /**
    * 教学督导发起状态0：发起、1：准备、2：执行、3：结束
    */
    @ApiModelProperty(value="教学督导发起状态0：发起、1：准备、2：执行、3：结束")
    private Integer instructionalSupervisionStatus;

    /**
    * 授课老师id
    */
    @ApiModelProperty(value="授课老师id")
    private Integer instructionalSupervisionTeacherId;

    /**
    * 主责老师id
    */
    @ApiModelProperty(value="主责老师id")
    private Integer instructionalSupervisionPrincipalTeacherId;

    /**
    * 教学主管id
    */
    @ApiModelProperty(value="教学主管id")
    private Integer instructionalSupervisionTeachingSupervisorId;

    /**
    * 课程类型id
    */
    @ApiModelProperty(value="课程类型id")
    private Integer instructionalSupervisionClazzTypeId;

    /**
    * 技术类别id
    */
    @ApiModelProperty(value="技术类别id")
    private Integer instructionalSupervisionTechnicalTypeId;

    /**
    * 事件类别 0：入学评审、1：方案评审、2：计划评审、3：阶段评审、4：结束评审、5：其他
    */
    @ApiModelProperty(value="事件类别 0：入学评审、1：方案评审、2：计划评审、3：阶段评审、4：结束评审、5：其他")
    private Integer instructionalSupervisionEventType;

    /**
    * 事件标题
    */
    @ApiModelProperty(value="事件标题")
    private String instructionalSupervisionEventTitle;

    /**
    * 事件描述
    */
    @ApiModelProperty(value="事件描述")
    private String instructionalSupervisionEventDescription;

    /**
    * 参加人员id 以“;”隔开
    */
    @ApiModelProperty(value="参加人员id 以“;”隔开")
    private String instructionalSupervisionParticipants;

    /**
    * 解决方案
    */
    @ApiModelProperty(value="解决方案")
    private String instructionalSupervisionSolution;

    /**
    * 执行记录
    */
    @ApiModelProperty(value="执行记录")
    private String instructionalSupervisionExecutionRecord;

    /**
    * 事件总结
    */
    @ApiModelProperty(value="事件总结")
    private String instructionalSupervisionEventSummary;

    @Transient
    @IgnoreSwaggerParameter
    private ClazzType clazzType;

    @Transient
    @IgnoreSwaggerParameter
    private TechnicalType technicalType;

    @Transient
    @ApiModelProperty(value="授课老师Name(只读)")
    private String instructionalSupervisionTeacherName;


    @Transient
    @ApiModelProperty(value="主责老师Name(只读)")
    private String instructionalSupervisionPrincipalTeacherName;


    @Transient
    @ApiModelProperty(value="教学主管Name(只读)")
    private String instructionalSupervisionTeachingSupervisorName;

    @Transient
    @ApiModelProperty(value="教学讨论发起人Name(只读)")
    private String instructionalSupervisionPostUserName;

}